1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.google.common.collect.testing.testers;
18
19 import static com.google.common.collect.testing.features.CollectionFeature.ALLOWS_NULL_VALUES;
20 import static com.google.common.collect.testing.features.CollectionSize.ZERO;
21
22 import com.google.common.annotations.GwtCompatible;
23 import com.google.common.annotations.GwtIncompatible;
24 import com.google.common.collect.testing.AbstractCollectionTester;
25 import com.google.common.collect.testing.Helpers;
26 import com.google.common.collect.testing.features.CollectionFeature;
27 import com.google.common.collect.testing.features.CollectionSize;
28
29 import java.lang.reflect.Method;
30
31
32
33
34
35
36
37
38 @GwtCompatible(emulated = true)
39 public class CollectionCreationTester<E> extends AbstractCollectionTester<E> {
40 @CollectionFeature.Require(ALLOWS_NULL_VALUES)
41 @CollectionSize.Require(absent = ZERO)
42 public void testCreateWithNull_supported() {
43 E[] array = createArrayWithNullElement();
44 collection = getSubjectGenerator().create(array);
45 expectContents(array);
46 }
47
48 @CollectionFeature.Require(absent = ALLOWS_NULL_VALUES)
49 @CollectionSize.Require(absent = ZERO)
50 public void testCreateWithNull_unsupported() {
51 E[] array = createArrayWithNullElement();
52
53 try {
54 getSubjectGenerator().create(array);
55 fail("Creating a collection containing null should fail");
56 } catch (NullPointerException expected) {
57 }
58 }
59
60
61
62
63
64
65
66
67 @GwtIncompatible("reflection")
68 public static Method getCreateWithNullUnsupportedMethod() {
69 return Helpers.getMethod(CollectionCreationTester.class, "testCreateWithNull_unsupported");
70 }
71 }